Semiconductor memory device and operating method thereof

ABSTRACT

A method of operating a semiconductor memory device includes dummy-programming selected memory cells representing all the memory cells to be programmed for a programming operation. The method also includes determining as a first group of memory cells those selected memory cells having threshold voltages less than or equal to a reference threshold voltage and determining as a second group of memory cells those selected memory cells having threshold voltages greater than the reference threshold voltage. The method further includes programming the selected memory cells by applying a first bit line voltage to the memory cells of the first group, applying a second bit line voltage different from the first bit line voltage to the memory cells of the second group, and applying a same program pulse to the memory cells of the first and second groups.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority under 35 U.S.C. § 119(a) toKorean patent application number 10-2018-0159503, filed on Dec. 11,2018, in the Korean Intellectual Property Office, the entire disclosureof which is incorporated herein by reference.

BACKGROUND 1. Technical Field

The present disclosure generally relates to an electronic device, andmore particularly, to a semiconductor memory device and an operatingmethod thereof.

2. Related Art

Memory devices may be formed as two-dimensional structures in whichstrings are arranged parallel to a semiconductor substrate, or may beformed as three-dimensional structures in which strings are arrangedperpendicular to a semiconductor substrate. Three-dimensional memorydevices are semiconductor memory device devised to overcome the limit ona degree of integration for two-dimensional memory devices.Three-dimensional memory devices may include a plurality of memory cellsvertically stacked on a semiconductor substrate.

SUMMARY

According to an embodiment of the present disclosure, a method ofoperating a semiconductor memory device includes dummy-programmingselected memory cells representing all the memory cells to be programmedfor a programming operation. The method also includes determining as afirst group of memory cells those selected memory cells having thresholdvoltages less than or equal to a reference threshold voltage anddetermining as a second group of memory cells those selected memorycells having threshold voltages greater than the reference thresholdvoltage. The method further includes programming the selected memorycells by applying a first bit line voltage to the memory cells of thefirst group, applying a second bit line voltage different from the firstbit line voltage to the memory cells of the second group, and applying asame program pulse to the memory cells of the first and second groups.

According to an embodiment of the present disclosure, a method foroperating a semiconductor memory device to program selected memory cellsto program states among first to Nth program states, N being a naturalnumber, includes applying a first program pulse to a word line coupledto the selected memory cells and performing a first program verifyoperation by applying an ith verify voltage corresponding to an ithprogram state to the word line, i being a natural number equal to orgreater than 1 and less than or equal to N. The method also includessetting, when the first program verify operation fails, a bit linevoltage for memory cells, among the selected memory cells, that havethreshold voltages lower than the ith verify voltage to the first bitline voltage. The method further includes setting, when the firstprogram verify operation fails, a bit line voltage for memory cells,among the selected memory cells, that have threshold voltages higherthan the ith verify voltage and that are to be programmed to the ithprogram state to a program inhibit voltage.

According to an embodiment of the present disclosure, a method foroperating a semiconductor memory device to program selected memory cellsto program states among first to Nth program states, N being a naturalnumber, includes applying a first program pulse to a word line coupledto the selected memory cells and performing a first program verifyoperation by applying an ith verify voltage corresponding to an ithprogram state to the word line, i being a natural number equal to orgreater than 1 and less than or equal to N. The method also includesdetermining if a number of the selected memory cells having thresholdvoltages higher than the ith verify voltage is greater than a referencevalue and setting bit line voltages for the selected memory cells basedon the determination.

According to an embodiment of the present disclosure, a semiconductormemory device includes a memory cell array having a plurality of memorycells configured to store data, a plurality of bit lines coupled to theplurality of memory cells, and a control logic configured to control theperipheral circuit in performing the program operation. Thesemiconductor memory device, in performing the program operation, isconfigured to: dummy-program the selected memory cells; determine as afirst group of memory cells those selected memory cells having thresholdvoltages less than or equal to a reference threshold voltage; determineas a second group of memory cells those selected memory cells havingthreshold voltages greater than the reference threshold voltage; apply afirst bit line voltage to bit lines, of the plurality of bit lines,coupled to the memory cells of the first group; apply a second bit linevoltage higher than the first bit line voltage to bit lines, of theplurality of bit lines, coupled to the memory cells of the second group;and apply a same program pulse to the memory cells of the first andsecond groups.

According to an embodiment of the present disclosure, there is provideda method for operating a semiconductor memory device, the methodincluding: dummy-programming selected memory cells to be programmed;comparing threshold voltages of the dummy-programmed memory cells with apredetermined reference threshold voltage, determining, as a firstgroup, memory cells having threshold voltages smaller than or equal tothe reference threshold voltage, and determining, as a second group,memory cells having threshold voltages larger than the referencethreshold voltage; and programming the selected memory cells by applyinga first bit line voltage to the memory cells of the first group andapplying a second bit line voltage to the memory cells of the secondgroup.

The second bit line voltage may be larger than the first bit linevoltage.

The programming of the selected memory cells may include: applying thefirst bit line voltage to bit lines coupled to the memory cells of thefirst group; applying the second bit line voltage to bit lines coupledto the memory cells of the second group; applying a program pulse to aword line coupled to the selected memory cells; and performing a verifyoperation on the selected memory cells.

According to another embodiment of the present disclosure, there isprovided a method for operating a semiconductor memory device, whichincludes a plurality of program loops to program selected memory cellsto any one program state among first to Nth program states, wherein theprogram loop includes: applying a program pulse to a word line coupledto the selected memory cells; applying an ith verify voltagecorresponding to an ith program state to the word line; and setting abit line voltage of the selected memory cells, based on whetherverification of the ith program state has passed, wherein the N is anatural number larger than or equal to 1, and the i is a natural numberthat is larger than or equal to 1 and is smaller than or equal to N.

The setting of the bit line voltage of the selected memory cells, basedon whether the verification of the ith program state has passed, mayinclude, when the verification of the ith program state does not pass,setting the bit line voltage, based on threshold voltages of theselected memory cells.

The setting of the bit line voltage, based on the threshold voltages ofthe selected memory cells, may include: setting, as a first bit linevoltage, a bit line voltage of memory cells having threshold voltageslower than the ith verify voltage among memory cells to be programmed toany one program state among the ith program state to the Nth programstate; and setting, as a second bit line voltage, a bit line voltage ofmemory cells having threshold voltages higher than the ith verifyvoltage among memory cells to be programmed to any one program stateamong an (i+1)th program state to the Nth program state.

The second bit line voltage may be larger than the first bit linevoltage.

The setting of the bit line voltage, based on the threshold voltages ofthe selected memory cells, further may include setting, as a programinhibit voltage, a bit line voltage of memory cells having thresholdvoltages higher than the ith verify voltage among memory cells to beprogrammed to the ith program state.

The program loop may further include increasing a program pulse value,after the setting of the bit line voltage of the selected memory cells,based on whether the verification of the ith program state has passed.

The setting of the bit line voltage of the selected memory cells, basedon whether the verification of the ith program state has passed, mayinclude: when the verification of the ith program state passes,determining whether verification of all program states has passed; andwhen the verification of all the program states does not pass,increasing the i by 1, and initializing a bit line voltage of memorycells that have not been completely programmed among the selected memorycells.

According to still another embodiment of the present disclosure, thereis provided a method for operating a semiconductor memory device, whichincludes a plurality of program loops to program selected memory cellsto any one program state among first to Nth program states, wherein theprogram loop includes: applying a program pulse to a word line coupledto the selected memory cells; applying an ith verify voltagecorresponding to an ith program state to the word line; counting anumber of memory cells having threshold voltages higher than the ithverify voltage; comparing the counted result with a predeterminedreference value; and setting a bit line voltage of the selected memorycells, based on the comparison result, wherein the N is a natural numberlarger than or equal to 1, and the i is a natural number that is largerthan or equal to 1 and is smaller than or equal to N.

The setting of the bit line voltage of the selected memory cells, basedon the comparison result, may include, when the number of memory cellshaving threshold voltages higher than the ith verify voltage is smallerthan or equal to the reference value, setting the bit line voltage,based on threshold voltages of the selected memory cells.

The setting of the bit line voltage, based on the threshold voltages ofthe selected memory cells, may include: setting, a first bit linevoltage, a bit line voltage of memory cells having threshold voltageslower than the ith verify voltage among memory cells to be programed toany one program state among the ith program state to the Nth programstate; and setting, as a second bit line voltage larger than the firstbit line voltage, a bit line voltage of memory cells having thresholdvoltages higher than the ith verify voltage among memory cells to beprogrammed to any one program state among an (i+1)th program state tothe Nth program state.

The setting of the bit line voltage, based on the threshold voltages ofthe selected memory cells, may further include setting, a programinhibit voltage, a bit line voltage of memory cells having thresholdvoltages higher than the ith verify voltage among memory cells to beprogrammed to the ith program state.

The setting of the bit line voltage of the selected memory cells, basedon the comparison result, may include, when the number of memory cellshaving threshold voltages higher than the ith verify voltage is largerthan the reference value, setting, as a first bit line voltage, bit linevoltages of memory cells having threshold voltages lower than the ithverify voltage among memory cells to be programmed to the ith programstate and memory cells to be programmed to any one program state amongan (i+1)th program state to the Nth program state.

The setting of the bit line voltage of the selected memory cells, basedon the comparison result, may further include setting, as a programinhibit voltage, a bit line voltage of memory cells having thresholdvoltages higher than the ith verify voltage among the memory cells to beprogrammed to the ith program state.

The program loop may further include determining whether verification ofthe ith program state has passed, after the setting of the bit linevoltage of the selected memory cells, based on the comparison result.

The program loop may further include, when the verification of the ithprogram state does not pass, increasing a program pulse value.

According to yet another embodiment of the present disclosure, there isprovided a semiconductor memory device including: a memory cell arrayincluding a plurality of memory cells; a peripheral circuit configuredto perform a program operation on selected memory cells among the memorycells included in the memory cell array; and a control logic configuredto control the program operation of the peripheral circuit, wherein thesemiconductor memory device controls the peripheral circuit todummy-program the selected memory cells to be programmed, wherein thesemiconductor memory device divides the dummy-programmed memory cellsinto a first group and a second group, based on a predeterminedreference threshold voltage, wherein the semiconductor memory devicecontrols the peripheral circuit to program the selected memory cells byapplying a first bit line voltage to the memory cells of the first groupand applying a second bit line voltage to the memory cells of the secondgroup.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments are described hereinafter with reference to theaccompanying drawings; however, they may be embodied in different formsand should not be construed as being limited to the descriptions setforth herein. Rather, these embodiments are provided to make the presentdisclosure clear and enabling to those skilled in the art.

In the drawings, dimensions may be exaggerated for clarity ofillustration. It will be understood that when an element is referred toas being “between” two elements, it can be the only element between thetwo elements, or one or more intervening elements may also be present.Like reference numerals refer to like elements throughout the drawings.

FIG. 1 is a block diagram illustrating a semiconductor memory device,according to an embodiment of the present disclosure.

FIG. 2 is a diagram illustrating an embodiment of a memory cell arrayshown in FIG. 1.

FIG. 3 is a circuit diagram illustrating a memory block among memoryblocks shown in FIG. 2.

FIG. 4 is a circuit diagram illustrating another embodiment of a memoryblock among the memory blocks shown in FIG. 2.

FIG. 5 is a circuit diagram illustrating an embodiment of a memory blockamong a plurality of memory blocks included in the memory cell arrayshown in FIG. 1.

FIG. 6 is a diagram illustrating a threshold voltage distribution ofTriple Level Cells (TLC).

FIG. 7 is a diagram illustrating a threshold voltage distribution ofmemory cells according to a variation in program speed between thememory cells.

FIG. 8 is a graph illustrating a portion of a program operation ofmemory cells having a distribution state shown in FIG. 7.

FIG. 9 is a flowchart illustrating an operating method of asemiconductor memory device, according to an embodiment of the presentdisclosure.

FIG. 10 is a flowchart illustrating in more detail step shown in FIG. 9.

FIG. 11 is a flowchart illustrating, in more detail, an operation shownin FIG. 9.

FIG. 12 is a diagram illustrating a threshold voltage distribution ofdummy-programmed memory cells.

FIG. 13 is a diagram illustrating a threshold voltage distribution ofmemory cells while the memory cells are being programmed, according toan embodiment of the present disclosure.

FIG. 14 is a graph illustrating a portion of a program operation ofmemory cells having a distribution state shown in FIG. 13.

FIG. 15 is a flowchart illustrating an operating method of asemiconductor memory device, according to an embodiment of the presentdisclosure.

FIG. 16 is a flowchart illustrating, in more detail, an operation shownin FIG. 15.

FIGS. 17A and 17B are diagrams illustrating bit line voltage settingsshown in FIG. 16.

FIG. 18 is a flowchart illustrating an operating method of asemiconductor memory device, according to an embodiment of the presentdisclosure.

FIG. 19 is a flowchart illustrating, in more detailed, an operationshown in FIG. 18.

FIG. 20 is a diagram illustrating bit line voltage settings shown inFIG. 19.

FIG. 21 is a block diagram illustrating an example of a storage deviceincluding the semiconductor memory device shown in FIG. 1 and a memorycontroller for controlling the semiconductor memory device.

FIG. 22 is a block diagram illustrating an application example of thestorage device shown in FIG. 21.

FIG. 23 is a block diagram illustrating a computing system including thestorage device described with reference to FIG. 22.

DETAILED DESCRIPTION

In the present disclosure, advantages, features, and methods forachieving them will become more apparent after reading the followingembodiments taken in conjunction with the drawings. The presentdisclosure may, however, be embodied in different forms and should notbe construed as being limited to the embodiments set forth herein.Rather, these embodiments are provided to describe the presentdisclosure in detail to the extent that those skilled in the art towhich the disclosure pertains may understand the technical concept ofthe present disclosure.

In the specification, when an element is referred to as being“connected” or “coupled” to another element, it can be directlyconnected or coupled to the another element or be indirectly connectedor coupled to the another element with one or more intervening elementsinterposed therebetween. In addition, when an element is referred to as“including” a component, this indicates that the element may furtherinclude another component instead of excluding another component unlessexplicitly stated otherwise.

Hereinafter, embodiments of the present disclosure are described indetail with reference to the accompanying drawings. The same referencenumerals are used to designate the same elements as those shown in otherdrawings. In the following descriptions, only portions necessary forunderstanding operations according to the embodiments are described, anddescriptions of the other portions may be omitted so as to not obscureimportant concepts of the embodiments.

FIG. 1 is a block diagram illustrating a semiconductor memory device,according to an embodiment of the present disclosure.

Referring to FIG. 1, the semiconductor memory device 100 includes amemory cell array 110, an address decoder 120, a read/write circuit 130,a control logic 140, and a voltage generator 150.

The memory cell array 110 includes a plurality of memory blocks BLK1 toBLKz. The plurality of memory blocks BLK1 to BLKz are coupled to theaddress decoder 120 through word lines WL. The plurality of memoryblocks BLK1 to BLKz are coupled to the read/write circuit 130 throughbit lines BL1 to BLm. Each of the plurality of memory blocks BLK1 toBLKz includes a plurality of memory cells. In an embodiment, theplurality of memory cells are nonvolatile memory cells, and may beconfigured as nonvolatile memory cells having a vertical channelstructure. The memory cell array 110 may be configured as a memory cellarray having a two-dimensional structure. In some embodiments, thememory cell array 110 may be configured as a memory cell array having athree-dimensional structure. Each of the plurality of memory cellsincluded in the memory cell array 110 may store data of at least onebit. In an embodiment, each of the plurality of memory cells included inthe memory cell array 110 may be a Single Level Cell (SLC) that storesdata of one bit. In another embodiment, each of the plurality of memorycells included in the memory cell array 110 may be a Multi Level Cell(MLC) that stores data of two bits. In still another embodiment, each ofthe plurality of memory cells included in the memory cell array 110 maybe a Triple Level Cell (TLC) that stores data of three bits. In stillanother embodiment, each of the plurality of memory cells included inthe memory cell array 110 may be a Quad Level Cell (QLC) that storesdata of four bits. In some embodiments, the memory cell array 110 mayinclude a plurality of memory cells that each stores data of five ormore bits.

The address decoder 120, the read/write circuit 130, the control logic140, and the voltage generator 150 operate as a peripheral circuit thatdrives the memory cell array 110. The address decoder 120 is coupled tothe memory cell array 110 through the word lines WL. The address decoder120 operates under the control of the control logic 140. The addressdecoder 120 receives an address through an input/output buffer (notshown) provided in the semiconductor memory device 100.

The address decoder 120 decodes a block address in the received address.The address decoder 120 selects at least one memory block according tothe decoded block address. In a read voltage application operationduring a read operation, the address decoder 120 applies a read voltageVread generated by the voltage generator 150 to a selected word lineamong the selected memory blocks, and applies a pass voltage Vpass tothe other unselected word lines. In a program verify operation, theaddress decoder 120 applies a verify voltage generated by the voltagegenerator 150 to the selected word line among the selected memoryblocks, and applies the pass voltage Vpass to the other unselected wordlines.

The address decoder 120 decodes a column address in the receivedaddress. The address decoder 12 transmits the decoded column address tothe read/write circuit 130.

Read and program operations of the semiconductor memory device 100 areperformed in units of pages. An address received in a request of theread operation and the program operation includes a block address, a rowaddress, and a column address. The address decoder 120 selects onememory block and one word line according to the block address and therow address. The column address is decoded by the address decoder 120 tobe provided to the read/write circuit 130.

The address decoder 120 may include a block decoder, a row decoder, acolumn decoder, an address buffer, and the like.

The read/write circuit 130 includes a plurality of page buffers PB1 toPBm. The read/write circuit 130 may operate as a “read circuit” in aread operation of the memory cell array 110, and operate as a “writecircuit” in a write operation of the memory cell array 110. Theplurality of page buffers PB1 to PBm are connected to the memory cellarray 110 through the bit lines BL1 to BLm. In order to sense thresholdvoltages of memory cells in the read operation and the program verifyoperation, the plurality of page buffers PB1 to PBm sense a change andamount of current flowing depending on a program state of acorresponding memory cell while continuously supplying sensing currentto bit lines connected to the memory cells, and latch the sensed chargeas sensing data. The read/write circuit 130 operates in response to pagebuffer control signals output from the control logic 140.

In the read operation, the read/write circuit 130 temporarily storesread data by sensing data of a memory cell and then outputs data DATA tothe input/output buffer (not shown) of the semiconductor memory device100. In an embodiment, the read/write circuit 130 may include a columnselection circuit, and the like, in addition to the page buffers (orpage registers).

The control logic 140 is connected to the address decoder 120, theread/write circuit 130, and the voltage generator 150. The control logicmay be implemented as hardware, software, or a combination thereof. Thecontrol logic 140 receives a command CMD and a control signal CTRLthrough the input/output buffer (not shown) of the semiconductor memorydevice 100. The control logic 140 is configured to control overalloperations of the semiconductor memory device 100 in response to thecontrol signal CTRL. Also, the control logic 140 outputs a controlsignal for controlling sensing node precharge potential levels of theplurality of page buffers PB1 to PBm. The control logic 140 may controlthe read/write circuit 130 to perform the read operation of the memorycell array 110.

In the read operation, the voltage generator 150 generates the readvoltage Vread and the pass voltage Vpass in response to a control signaloutput from the control logic 140. In order to generate a plurality ofvoltages having various voltage levels, the voltage generator 150 mayinclude a plurality of pumping capacitors for receiving an internalpower voltage, and generate a plurality of voltages by selectivelyactivating the plurality of pumping capacitors under the control of thecontrol logic 140. The voltage generator 150 may include a charge pump,and the charge pump may include the plurality of pumping capacitors. Theconfiguration of the charge pump included in the voltage generator 150may differ for different embodiments.

The address decoder 120, the read/write circuit 130, and the voltagegenerator 150 may serve as a “peripheral circuit” that performs a readoperation, a write operation, and an erase operation on the memory cellarray 110. The peripheral circuit performs the read operation, the writeoperation, and the erase operation on the memory cell array 110 underthe control of the control logic 140.

For the semiconductor memory device 100 and an operating method thereof,according to an embodiment of the present disclosure, the control logic140 controls the peripheral circuit to dummy-program memory cellsselected as a program target among the memory cells of the memory cellarray 110. The control logic 140 divides the dummy-programmed memorycells into a first group and a second group by comparing thresholdvoltages of the dummy-programmed memory cells with a reference thresholdvoltage. Subsequently, the control logic 140 controls the peripheralcircuit to perform a program operation by applying different bit linevoltages to memory cells of the first group and memory cells of thesecond group.

The program operation is performed to relatively decrease a programspeed of a fast cell among the selected memory cells. Thus, a variationin threshold voltage between memory cells is decreased, so that thenumber of times that a program verify operation is performed can bedecreased. Consequently, the program speed of the semiconductor memorydevice is improved. A configuration in which the number of times thatthe program verify operation is performed is decreased by decreasing theprogram speed of the fast cell among the selected memory cells accordingto the above-described embodiment is described below with reference toFIGS. 6 to 14.

Meanwhile, according to the semiconductor memory device and an operatingmethod thereof according to another embodiment of the presentdisclosure, the control logic 140 controls the peripheral circuit toperform a plurality of program loops so as to program selected memorycells included in the memory cell array 110 to any one program stateamong first to Nth program states. In the program loop, the controllogic 140 controls the peripheral circuit to apply a program pulse to aword line coupled to the selected memory cells, controls the peripheralcircuit to apply an ith verify voltage corresponding to an ith programstate to the word line, and sets a bit line voltage of the selectedmemory cells, based on whether verification of the ith program state haspassed. Here, N may be a natural number larger than or equal to 1, and imay be a natural number that is larger than or equal to 1 and is smallerthan or equal to N. A configuration in which the number of times thatthe program verify operation is performed is decreased by decreasing theprogram speed of the fast cell among the selected memory cells accordingto the above-described embodiment is described below with reference toFIGS. 15 to 17B.

Meanwhile, according to the semiconductor memory device and an operatingmethod thereof according to another embodiment of the presentdisclosure, the control logic 140 controls the peripheral circuit toperform a plurality of program loops so as to program selected memorycells included in the memory cell array 110 to any one program stateamong first to Nth program states. In the program loop, the controllogic 140 controls the peripheral circuit to apply a program pulse to aword line coupled to the selected memory cells, controls the peripheralcircuit to apply an ith verify voltage corresponding to an ith programstate to the word line, counts a number of memory cells having thresholdvoltages higher than the ith verify voltage and then compares thecounted number with a predetermined reference value, and sets a bit linevoltage of the selected memory cells, based on the comparison result.Here, N may be a natural number larger than or equal to 1, and i may bea natural number that is larger than or equal to 1 and is smaller thanor equal to N. A configuration in which the number of times that theprogram verify operation is performed is decreased by decreasing theprogram speed of the fast cell among the selected memory cells accordingto the above-described embodiment is described below with reference toFIGS. 18 to 20.

FIG. 2 is a diagram illustrating an embodiment of the memory cell arrayshown in FIG. 1.

Referring to FIG. 2, the memory cell array 110 includes a plurality ofmemory blocks BLK1 to BLKz. Each memory block has a three-dimensionalstructure. Each memory block includes a plurality of memory cellsstacked above a substrate. The plurality of memory cells are arrangedalong +X, +Y, and +Z directions. The structure of each memory block isdescribed in more detail with reference to FIGS. 3 and 4.

FIG. 3 is a circuit diagram illustrating a memory block BLKa among thememory blocks BLK1 to BLKz shown in FIG. 2.

Referring to FIG. 3, the memory block BLKa includes a plurality of cellstrings CS11 to CS1 m and CS21 to CS2 m. In an embodiment, each of theplurality of cell strings CS11 to CS1 m and CS21 to CS2 m may be formedin a ‘U’ shape. In the memory block BLKa, m cell strings are arranged ina row direction (i.e., a +X direction). In FIG. 3, it is illustratedthat two cell strings are arranged in a column direction (i.e., a +Ydirection). However, this is for convenience of description. Indifferent embodiments, different numbers of cell strings may be arrangedin the column direction. For example, three cell strings may be arrangedin the column direction.

Each of the plurality of cell strings CS11 to CS1 m and CS21 to CS2 mincludes at least one source select transistor SST, first to nth memorycells MC1 to MCn, a pipe transistor PT, and at least one drain selecttransistor DST.

The select transistors SST and DST and the memory cells MC1 to MCn mayhave structures similar to one another. In an embodiment, each of theselect transistors SST and DST and the memory cells MC1 to MCn mayinclude a channel layer, a tunneling insulating layer, a charge storagelayer, and a blocking insulating layer. In an embodiment, a pillar forproviding the channel layer may be provided in each cell string. In anembodiment, a pillar for providing at least one of the channel layer,the tunneling insulating layer, the charge storage layer, and theblocking insulating layer may be provided in each cell string.

The source select transistor SST of each cell string is coupled betweena common source line CSL and memory cells MC1 to MCp.

In an embodiment, the source select transistors of cell strings arrangedon the same row are coupled to a source select line extending in the rowdirection, and the source select transistors of cell strings arranged ondifferent rows are coupled to different source select lines. In FIG. 3,the source select transistors of the cell strings CS11 to CS1 m on afirst row are coupled to a first source select line SSL1. The sourceselect transistors of the cell strings CS21 to CS2 m on a second row arecoupled to a second source select line SSL2.

In another embodiment, the source select transistors of the cell stringsCS11 to CS1 m and CS21 to CS2 m may be commonly coupled to one sourceselect line.

The first to nth memory cells MC1 to MCn of each cell string are coupledbetween the source select transistor SST and the drain select transistorDST.

The first to nth memory cells MC1 to MCn may be divided into first topth memory cells MC1 to MCp and a (p+1)th to nth memory cells MCp+1 toMCn. The first to pth memory cells MC1 to MCp are sequentially arrangedin the opposite direction of a +Z direction, and are coupled in seriesbetween the source select transistor SST and the pipe transistor PT. The(p+1)th to nth memory cells MCp+1 to MCn are sequentially arranged inthe +Z direction, and are coupled in series between the pipe transistorPT and the drain select transistor DST. The first to pth memory cellsMC1 to MCp and the (p+1)th to nth memory cells MCp+1 to MCn are coupledthrough the pipe transistor PT. Gate electrodes of the first to nthmemory cells MC1 to MCn of each cell string are coupled to first to nthword lines WL1 to WLn, respectively.

A gate of the pipe transistor PT of each cell string is coupled to apipe line PL.

The drain select transistor DST of each cell string is coupled between acorresponding bit line and the memory cells MCp+1 to MCn. Cell stringsarranged in the row direction are coupled to a drain select lineextending in the row direction. The drain select transistors of the cellstrings CS11 to CS1 m on the first row are coupled to a first drainselect line DSL1. The drain select transistors of the cell strings CS21to CS2 m on the second row are coupled to a second drain select lineDSL2.

Cell strings arranged in the column direction are coupled to a bit lineextending in the column direction. In FIG. 3, the cell strings CS11 andCS21 on a first column are coupled to a first bit line BL1. The cellstrings CS1 m and CS2 m on an mth column are coupled to an mth bit lineBLm.

Memory cells coupled to the same word line in the cell strings arrangedin the row direction constitute one page. For example, memory cellscoupled to the first word line WL1 in the cell strings CS11 to CS1 m onthe first row constitute one page. Memory cells coupled to the firstword line WL1 in the cell strings CS21 to CS2 m on the second rowconstitute another page. When any one of the drain select lines DSL1 andDSL2 is selected, cell strings arranged in one row direction may beselected. When any one of the word lines WL1 to WLn is selected, onepage may be selected in the selected cell strings.

In another embodiment, even bit lines and odd bit lines may be providedinstead of the first to mth bit lines BL1 to BLm. In addition,even-numbered cell strings among the cell strings CS11 to CS1 m or CS21to CS2 m arranged in the row direction may be coupled to the even bitlines, respectively, and odd-numbered cell strings among the cellstrings CS11 to CS1 m or CS21 to CS2 m arranged in the row direction maybe coupled to the odd bit lines, respectively.

In an embodiment, at least one of the first to nth memory cells MC1 toMCn may be used as a dummy memory cell. For example, the at least onedummy memory cell may be provided to decrease an electric field betweenthe source select transistor SST and the memory cells MC1 to MCp.Alternatively, the at least one dummy memory cell may be provided todecrease an electric field between the drain select transistor DST andthe memory cells MCp+1 to MCn. When the number of dummy memory cellsincreases, the reliability of an operation of the memory block BLKa isimproved. On the other hand, the size of the memory block BLKaincreases. When the number of dummy memory cells decreases, the size ofthe memory block BLKa decreases. On the other hand, the reliability ofan operation of the memory block BLKa may be deteriorated.

In order to efficiently control the at least one dummy memory cell, eachof the dummy memory cells may have a threshold voltage. Before or afteran erase operation of the memory block BLKa, a program operation may beperformed on all or some of the dummy memory cells. When an eraseoperation is performed after the program operation is performed, thethreshold voltages of the dummy memory cells control voltages areapplied to the dummy word lines coupled to the respective dummy memorycells, so that each of the dummy memory cells can have the thresholdvoltage.

FIG. 4 is a circuit diagram illustrating, in accordance with anotherembodiment, a memory block BLKb among the memory blocks BLK1 to BLKzshown in FIG. 2.

Referring to FIG. 4, the memory block BLKb includes a plurality of cellstrings CS11′ to CS1 m′ and CS21′ to CS2 m′. Each of the plurality ofcell strings CS11′ to CS1 m′ and CS21′ to CS2 m′ extends along the +Zdirection. Each of the plurality of cell strings CS11′ to CS1 m′ andCS21′ to CS2 m′ includes at least one source select transistor SST,first to nth memory cells MC1 to MCn, and at least one drain selecttransistor DST, which are stacked on a substrate (not shown) under thememory block BLKb.

The source select transistor SST of each cell string is coupled betweena common source line CSL and the memory cells MC1 to MCn. The sourceselect transistors of cell strings arranged on the same row are coupledto the same source select line. The source select transistors of thecell strings CS11′ to CS1 m′ arranged on a first row are coupled to afirst source select line SSL1. Source select transistors of the cellstrings CS21′ to CS2 m′ arranged on a second row are coupled to a secondsource select line 55L2. In another embodiment, the source selecttransistors of the cell strings CS11′ to CS1 m′ and CS21′ to CS2 m′ maybe commonly coupled to one source select line.

The first to nth memory cells MC1 to MCn of each cell string are coupledin series between the source select transistor SST and the drain selecttransistor DST. Gate electrodes of the first to nth memory cells MC1 toMCn are coupled to first to nth word lines WL1 to WLn, respectively.

The drain select transistor DST of each cell string is coupled between acorresponding bit line and the memory cells MC1 to MCn. The drain selecttransistors of cell strings arranged in the row direction are coupled toa drain select line extending in the row direction. The drain selecttransistors of the cell strings CS11′ to CS1 m′ on the first row arecoupled to a first drain select line DSL1. The drain select transistorsof the cell strings CS21′ to CS2 m′ on the second row are coupled to asecond drain select line DSL2.

Consequently, the memory block BLKb of FIG. 4 has a circuit matchingthat of the memory block BLKa of FIG. 3, except that the pipetransistors PT of the memory block BLKa are excluded from the cellstrings of the memory block BLKb.

In another embodiment, even bit lines and odd bit lines may be providedinstead of the first to mth bit lines BL1 to BLm. In addition,even-numbered cell strings among the cell strings CS11′ to CS1 m′ orCS21′ to CS2 m′ arranged in the row direction may be coupled to the evenbit lines, respectively, and odd-numbered cell strings among the cellstrings CS11′ to CS1 m′ or CS21′ to CS2 m′ arranged in the row directionmay be coupled to the odd bit lines, respectively.

In an embodiment, at least one of the first to nth memory cells MC1 toMCn may be used as a dummy memory cell. For example, the at least onedummy memory cell may be provided to decrease an electric field betweenthe source select transistor SST and the memory cells MC1 to MCp.Alternatively, the at least one dummy memory cell may be provided todecrease an electric field between the drain select transistor DST andthe memory cells MCp+1 to MCn. When the number of dummy memory cellsincreases, the reliability of an operation of the memory block BLKb isimproved. On the other hand, the size of the memory block BLKbincreases. When the number of dummy memory cells decreases, the size ofthe memory block BLKb decreases. On the other hand, the reliability ofan operation of the memory block BLKb may be deteriorated.

In order to efficiently control the at least one dummy memory cell, eachof the dummy memory cells may have a threshold voltage. Before or afteran erase operation of the memory block BLKb, a program operation may beperformed on all or some of the dummy memory cells. When an eraseoperation is performed after the program operation is performed, thethreshold voltages of the dummy memory cells control voltages areapplied to the dummy word lines coupled to the respective dummy memorycells, so that each of the dummy memory cells can have requiredthreshold voltage.

FIG. 5 is a circuit diagram illustrating, in accordance with anotherembodiment, a memory block BLKc among the plurality of memory blocksBLK1 to BLKz included in the memory cell array 110 shown in FIG. 1.

Referring to FIG. 5, the memory block BLKc includes a plurality ofstrings CS1 to CSm. The plurality of strings CS1 to CSm may be coupledto a plurality of bit lines BL1 to BLm, respectively. Each of theplurality of strings CS1 to CSm includes at least one source selecttransistor SST, first to nth memory cells MC1 to MCn, and at least onedrain select transistor DST.

Each of the select transistors SST and DST and the memory cells MC1 toMCn may have a similar structure. In an embodiment, each of the selecttransistors SST and DST and the memory cells MC1 to MCn may include achannel layer, a tunneling insulating layer, a charge storage layer, anda blocking insulating layer. In an embodiment, a pillar for providingthe channel layer may be provided in each cell string. In an embodiment,a pillar for providing at least one of the channel layer, the tunnelinginsulating layer, the charge storage layer, and the blocking insulatinglayer may be provided in each cell string.

The source select transistor SST of each cell string is coupled betweena common source line CSL and the memory cells MC1 to MCn.

The first to nth memory cells MC1 to MCn of each cell string are coupledbetween the source select transistor SST and the drain select transistorDST.

The drain select transistor DST of each cell string is coupled between acorresponding bit line and the memory cells MC1 to MCn.

Memory cells coupled to the same word line constitute one page. As adrain select line DSL is selected, the cell strings CS1 to CSm may beselected. As any one of word lines WL1 to WLn is selected, one pageamong selected cell strings may be selected.

In another embodiment, even bit lines and odd bit lines may be providedinstead of the first to mth bit lines BL1 to BLm. Even-numbered cellstrings among the cell strings CS1 to CSm arranged may be coupled to theeven bit lines, respectively, and odd-numbered cell strings among thecell strings CS1 to CSm may be coupled to the odd bit lines,respectively.

As shown in FIGS. 2 to 4, the memory cells of the memory cell array 110may be formed as a three-dimensional structure. As shown in FIG. 5, thememory cells of the memory cell array 110 may also be formed as atwo-dimensional structure.

FIG. 6 is a diagram illustrating a threshold voltage distribution ofTriple Level Cells (TLC).

Referring to FIG. 6, in the case of a TLC that stores data of threebits, a threshold voltage of each of memory cells is included in any oneof eight distribution states. That is, according to data stored in theTLC, the threshold voltage of each of the corresponding memory cells isincluded in an erase state E or any one of first to seventh programstates PV₁ to PV₇.

In order to program memory cells to threshold voltage states shown inFIG. 6, first to seventh verify voltages VR1 to VR7 may be used. In thecase of memory cells to be programmed to the first program state PV₁, averify operation is performed based on the first verify voltage VR1during a program operation. That is, a program inhibit voltage isapplied to a bit line coupled to a memory cell having a thresholdvoltage larger than the first verify voltage VR1 among the memory cellsto be programmed to the first program state PV₁ as the verificationresult, so that the threshold voltage is controlled not to be increasedeven when a subsequent program pulse is applied. Meanwhile, a programallow voltage is applied to a bit line coupled to a memory cell having athreshold voltage smaller than the first verify voltage VR1 among thememory cells to be programmed to the first program state PV₁, so thatthe threshold voltage is increased when a subsequent program pulse isapplied. In this manner, the verify operation is performed on memorycells to be programmed to the second to seventh program states PV₂ toPV₇ respectively through the second to seventh verify voltages VR2 toVR7.

FIG. 7 is a diagram illustrating a threshold voltage distribution ofmemory cells according to a variation in program speed between thememory cells.

Referring to FIG. 7, threshold voltage states of memory cells while aprogram operation is being performed are illustrated. That is, a programpulse may be applied to memory cells to be programmed to any one of thefirst to seventh program states PV₁ to PV₇ among memory cells that arein the erase state E at an early stage of the program operation.Accordingly, a threshold voltage of each of the corresponding memorycells that are in the erase state E is increased, to have a distributionof an intermediate state VTD1. The intermediate state VTD1 represents athreshold voltage distribution at a specific time before all memorycells to be programmed are completely programmed.

Memory cells on which the program operation is to be performed may havedifferent program speeds depending on their characteristics.Accordingly, although a program pulse having the same magnitude isapplied to a word line coupled to memory cells to be programmed, athreshold voltage of each of memory cells is more increased when thememory cells are fast cells, and a threshold voltage of each of memorycells is less increased when the memory cells are slow cells. When avariation in program speed between the memory cells selected asdescribed above is large, the distribution width of the intermediatestate VTD1 is widely formed as shown in FIG. 7.

In the example shown in FIG. 7, it can be seen that the distribution ofthe intermediate state VTD1 is widely formed to include the first tofifth verify voltages VR1 to VR5. In a verify operation performed justafter the program pulse is applied, the first to fifth verify voltagesVR1 to VR5 are all to be applied. That is, it is determined whethermemory cells to be programmed to the first program state PV₁ among thememory cells having the threshold voltage distribution of theintermediate state VTD1 have been completely programmed through thefirst verify voltage VR1. In addition, it is determined whether memorycells to be programmed to the second program state PV₂ have beencompletely programmed through the second verify voltage VR2. In thismanner, it is determined whether memory cells to be programmed to thefifth program state PV₅ have been completely programmed through thefifth verify voltage VR5. When a verify operation using the fifth verifyvoltage VR5 is omitted, the memory cells to be programmed to the fifthprogram state PV₅ may be over-programmed.

However, because the distribution of the intermediate state VTD1 doesnot include the sixth and seventh verify voltages VR6 and VR7, verifyoperations using the sixth and seventh verify voltages VR6 and VR7 maybe omitted.

FIG. 8 is a graph illustrating a portion of a program operation of thememory cells having the distribution state shown in FIG. 7.

Referring to FIG. 8, a portion of a program operation using anIncremental Step Pulse Program (ISPP) method is illustrated. That is,the program operation includes a plurality of program loops, and eachprogram loop includes a step of increasing threshold voltages of memorycells by applying a program pulse VP and steps of performing programverification of the memory cells by applying verify voltages VR1 to VR5.Three program loops are illustrated in FIG. 8.

Referring to FIGS. 7 and 8 together, when a variation in program speedbetween memory cells is large, as shown in FIG. 7, verify operationsusing the first to fifth verify voltages VR1 to VR5 are all to beperformed for every program loop. When verify operations using fiveverify voltages VR1 to VR5 are performed as described above,verification takes a long time. However, when a verify operation using apartial verify voltage, e.g., the fifth verify voltage VR5 is omitted soas to reduce the verification time, some of the memory cells to beprogrammed to the fifth program state PV₅ may be over-programmed.

For a semiconductor memory device and an operating method thereof,according to an embodiment of the present disclosure, memory cells to beprogrammed are dummy-programmed, and the dummy-programmed memory cellsare divided into a first group and a second group, based on a referencethreshold voltage. Subsequently, selected memory cells are programmed byapplying a first bit line voltage to memory cells of the first group andapplying a second bit line voltage to memory cells of the second group.Accordingly, a program speed of a fast cell is relatively decreased, andtherefore, a variation in threshold voltage between memory cells beingprogrammed is decreased. Thus, the number of times that a verifyoperation is performed in the program operation can be decreased, andaccordingly, the program speed of the semiconductor memory device can beimproved.

FIG. 9 is a flowchart illustrating an operating method of thesemiconductor memory device 100, according to an embodiment of thepresent disclosure.

Referring to FIG. 9, according to the operating method of thesemiconductor memory device 100 according to the embodiment of thepresent disclosure, selected memory cells are dummy-programmed (S110),the dummy-programmed memory cells are divided into a first group and asecond group, based on a reference threshold voltage (S130), and theselected memory cells are programmed by applying first and second bitline voltages, respectively, to the memory cells of the first and secondgroups (S150).

In the step S110, memory cells included in a physical page to beprogrammed are dummy-programmed. Referring to FIGS. 6 and 9 together, inthe step S110, memory cells to be programmed to the first to seventhprogram states PV₁ to PV₇ among all the memory cells that are in theerase state E at the early state of the program operation aredummy-programmed (dummy program operation). Accordingly, a programinhibit voltage is applied to a bit line coupled to memory cells thatare to maintain the erase state E among all the memory cells that are inthe erase state E at the early state of the program operation, a programallow voltage is applied to the memory cells to be programmed to thefirst to seventh program states PV₁ to PV₇, and a program pulse isapplied to a word line coupled to the selected memory cells. Therefore,threshold voltages of the memory cells to be programmed to the first toseventh program states PV₁ to PV₇ are increased.

In the dummy program operation of the step S110, the program pulse maybe applied at least once to the word line coupled to the selected memorycells. The number of times that the program pulse is applied in thedummy program operation of the step S110 may be different in differentembodiments.

In the step S130, the memory cells for which the threshold voltages areincreased according to the dummy program operation of the step S110 aredivided into a first group and a second group, based on a predeterminedreference threshold voltage. The first group and the second group may beused as groups for dividing relative program speeds of memory cells.More specifically, threshold voltages of the dummy-programmed memorycells is sensed in a state in which the reference threshold voltage isapplied to a word line coupled to the dummy-programmed memory cells. Asthe sensing result, memory cells may be determined as belonging to thefirst group when the memory cells are on-cells, and memory cells may bedetermined as belonging to the second group when the memory cells areoff-cells. The memory cells of the first group, which are determined ason-cells, may be slow cells having a relatively slow program speed. Inaddition, the memory cells of the second group, which are determined asoff-cells, may be fast cells having a relatively fast program speed. Thememory cells of the first group, which are on-cells, and the memorycells of the second group, which are off-cells, are described below withreference to FIG. 12.

In the step S150, the selected memory cells are programmed by applying afirst bit line voltage to a bit line coupled to the memory cells of thefirst group and applying a second bit line voltage to a bit line coupledto the memory cells of the second group. In the step S150, a pluralityof program loops may be repeated until the program operation iscompleted. Meanwhile, a program inhibit voltage is applied to a bit linecoupled to memory cells that have been completely programmed to a targetprogram state among the memory cells of the first group and the memorycells of the second group, so that an increase in threshold voltage ofthe corresponding memory cells can be prevented.

The first bit line voltage may be a program allow voltage. For example,the first bit line voltage may be a ground voltage (0 V). Meanwhile, thesecond bit line voltage may be a voltage higher than the first bit linevoltage. For example, the second bit line voltage may be a value that islarger than 0 V and is smaller than a voltage level of the programpulse.

Because the second bit line voltage is larger than the first bit linevoltage, the program speed of memory cells to which the second bit linevoltage is applied in a subsequent program operation is decreased. Thememory cells of the second group, to which the second bit line voltageis applied, are fast cells having threshold voltages higher than thereference threshold voltage. When a relatively higher bit line voltageis applied to fast cells as described above, the program speed of thefast cells is decreased. Consequently, a variation in program speedbetween memory cells to be programmed is decreased, and a verifyoperation can be performed a fewer number of times for every programloop. Accordingly, the entire program speed can be improved.

FIG. 10 is a flowchart illustrating in more detail the step S130 shownin FIG. 9.

Referring to FIG. 10, the step S130 of dividing the dummy-programmedmemory cells into the first group and the second group includes stepS210 of comparing threshold voltages of the dummy-programmed memorycells with a reference threshold voltage and step S230 of determiningwhether a threshold voltage of a memory cell is larger than thereference threshold voltage. As the determination result of the stepS230, when a threshold voltage of a memory cell is not larger than thereference threshold voltage, the corresponding memory cell is determinedas belonging to the first group (S250). As the determination result ofthe step S230, when a threshold voltage of a memory cell is larger thanthe reference threshold voltage, the corresponding memory cell isdetermined as belonging to the second group (S270). The steps S210,S230, S250, and S270 shown in FIG. 10 may be performed on each of thedummy-programmed memory cells. When the steps S210, S230, S250, and S270shown in FIG. 10 are performed, the dummy-programmed memory cells may besorted as any one of the first group representing slow cells and thesecond group representing fast cells.

Specifically, in the step S210, threshold voltages of thedummy-programmed memory cells are sensed in a state in which a referencethreshold voltage is applied to the word line coupled to thedummy-programmed memory cells. As the sensing result, memory cells maybe determined as belonging to a first group when the memory cells areon-cells, and memory cells may be determined as belonging to a secondgroup when the memory cells are off-cells. The reference thresholdvoltage may be determined as an appropriate value. For example, thereference threshold voltage may be determined as an experimentallydetermined value. The determination of the reference threshold voltageis described with reference to FIG. 12.

FIG. 11 is a flowchart illustrating in more detail the step S150 shownin FIG. 9.

Referring to FIG. 11, the step S150 of programming the selected memorycells by applying the first and second bit line voltages, respectively,to the memory cells of the first and second groups includes step S310 ofapplying the first bit line voltage to a bit line coupled to the memorycells of the first group, step S330 of applying the second bit linevoltage to a bit line coupled to the memory cells of the second group,step S350 of applying a program pulse to a word line coupled to thememory cells of the first and second groups, and step S370 of performinga verify operation on the memory cells of the first and second groups.After the verify operation of the step S370 is performed, it isdetermined whether verification has passed (S380). When the verificationpasses, the program operation (S150) is ended. When the verificationdoes not pass, a program pulse value is increased (S390), and asubsequent program loop is performed by proceeding to the step S310.

In the step S310, the first bit line voltage is applied to a bit linecoupled to memory cells that have not been completely programmed to atarget program state among the memory cells of the first group, whichare determined as slow cells having a relatively slow program speed. Inan embodiment, the first bit line voltage is a program allow voltage,and may be a ground voltage (0 V).

In the step S320, the second bit line voltage is applied to a bit linecoupled to memory cells that have not been completely programmed to atarget program state among the memory cells of the second group, whichare determined as fast cells having a relatively fast program speed. Inan embodiment, the second bit line voltage may have a voltage level thatis larger than that of the first bit line voltage and is lower than thatof a program inhibit voltage.

Although a case where the step S330 is performed after the step S310 isillustrated in FIG. 11, the present disclosure is not limited thereto.That is, the step S310 may be performed after the step S330, and thesteps S310 and S330 may be performed at the same time.

Meanwhile, in the steps S310 and S330, it can be seen that the programinhibit voltage is applied to a bit line coupled to memory cells thathave been completely programmed to a target program state among thememory cells of the first and second groups.

A program pulse is applied to a word line commonly coupled to the memorycells of the first and second groups in a state in which the first bitline voltage is applied to the bit line coupled to the memory cells ofthe first group and the second bit line voltage is applied to the bitline coupled to the memory cells of the second group (S350).Accordingly, the threshold voltages of memory cells of the first andsecond groups are increased. However, the second bit line voltage higherthan the first bit line voltage is applied to the bit line coupled tothe memory cells of the second group, which are fast cells, andtherefore, the program speed of the memory cells of the second group isdecreased. Accordingly, a variation in program speed between the memorycells of the first group and the memory cells of the second group is asa whole decreased, and thus a threshold voltage distribution of anintermediate state exists in a narrower range. Accordingly, the numberof times that the verify operation performed in the step S370 for eachprogram loop can be decreased, and thus the time required to perform asingle program loop is reduced. Consequently, the entire program speedis increased.

In the step S370, a verify operation on the memory cells of the firstand second groups is performed. According to the semiconductor memorydevice and an operating method thereof according to an embodiment of thepresent disclosure, different bit line voltages are set by dividingmemory cells into a first group and a second group, and thus thethreshold voltage distribution of the memory cells can be narrowedduring a program operation. Accordingly, the number of times that averify operation is to be performed in the step S370 can be decreased.This is described below with reference to FIGS. 12 and 14.

FIG. 12 is a diagram illustrating a threshold voltage distribution ofdummy-programmed memory cells.

Referring to FIG. 12, a threshold voltage distribution VTD_pre formed asa result obtained by performing a dummy program operation on memorycells that are to be programmed to the first to seventh program statesPV₁ to PV₇ among memory cells to be programmed, except memory cells thatare to maintain the erase state E, is illustrated.

As described above, in the threshold voltage distribution VTD_pre formedas the result obtained by dummy-programming the memory cells that are tobe programmed to the first to seventh program states PV₁ to PV₇ in thestep S110 shown in FIG. 9, memory cells having threshold voltages lowerthan a reference threshold voltage V_REF may be determined as belongingto a first group Group1, and memory cells having threshold voltageshigher than the reference threshold voltage V_REF may be determined asbelonging to a second group Group2.

The reference threshold voltage V_REF may be experimentally determined.For example, a threshold voltage distribution VTD_pre roughly formed bydummy-programming multiple times on memory cells in the erase state maybe predicted. Based on the predicted threshold voltage distributionVTD_pre, the reference threshold voltage V_REF may be determined suchthat numbers of memory cells belonging to the first group and the secondgroup are roughly equal to each other.

FIG. 13 is a diagram illustrating a threshold voltage distribution ofmemory cells while the memory cells are being programmed according to anembodiment of the present disclosure.

Referring to FIG. 13, when the program operation is performed byapplying different bit line voltages to the memory cells of the firstgroup and the second group, the threshold voltage distribution of memorycells to be programmed forms an intermediate state VTD2.

For a semiconductor memory device and an operating method thereofaccording to an embodiment of the present disclosure, after a dummyprogram operation is performed, different bit line voltages are appliedto the memory cells that are divided into slow cells and fast cells.That is, a first bit line voltage is applied to a bit line coupled tothe memory cells of the first group Group1, which are slow cells, and asecond bit line voltage larger than the first bit line voltage isapplied to a bit line coupled to the memory cells of the second groupGroup2, which are fast cells. Accordingly, the program speed of the fastcells is decreased, and a variation in threshold voltage between thememory cells as a whole decreased. Thus, it can be seen that thedistribution of the intermediate state VTD2 is relatively narrowlyformed to include the first to third verify voltages VR1 to VR3.Referring to FIGS. 7 and 13 together, when the program operation isperformed by applying the same bit line voltage to all the fast cellsand the slow cells, a threshold voltage distribution is formed to havethe intermediate state VTD1 shown in FIG. 7. When the program operationis performed by applying different bit line voltages, a thresholdvoltage distribution is formed to have the intermediate state VTD2 shownin FIG. 13. Because the distribution of the intermediate state VTD2 isrelatively narrowly formed, as compared to the intermediate state VTD1,to include the first to third verify voltages VR1 to VR3 in FIG. 13,only the first to third verify voltages VR1 to VR3 are applied in averify operation performed just after the program pulse is applied. Thatis, although verify operations using the fourth to seventh verifyvoltages VR4 to VR7 are omitted for the intermediate state VTD2 shown inFIG. 13, the probability that memory cells will be over-programmed islow. Accordingly, the program speed of the fast cells is relativelydecreased during the program operation, so that a variation in thresholdvoltage between memory cells being programmed is decreased. Thus, thenumber of times that a verify operation is performed in the programoperation can be decreased, and accordingly, the program speed of thesemiconductor memory device can be improved.

FIG. 14 is a graph illustrating a portion of a program operation ofmemory cells having the distribution state shown in FIG. 13.

Referring to FIG. 14, a portion of a program operation using the ISPPmethod is illustrated. That is, the program operation includes aplurality of program loops, and each program loop includes step ofincreasing threshold voltages of memory cells by applying a programpulse VP and step of performing program verification of the memory cellsby applying verify voltages VR1 to VR3. Three program loops areillustrated in FIG. 14.

Referring to FIGS. 13 and 14 together, because the intermediate stateVTD2 of the threshold voltage distribution of the memory cells to beprogrammed is narrowly formed by decreasing the program speed of thefast cells as shown in FIG. 13, only verify operations using the firstto third verify voltages are performed for every program loop. Referringto FIGS. 8 and 14 together, in FIG. 8, the verify operations using thefirst to fifth verify voltages VR1 to VR5 are all to be performed forevery program loop. On the other hand, in FIG. 14, only verifyoperations using the first to third verify voltages VR1 to VR3 areperformed, and thus the number of times that a verify operation isperformed can be decreased. Accordingly, the program speed of thesemiconductor memory device can be improved.

FIG. 15 is a flowchart illustrating an operating method of asemiconductor memory device according to an embodiment of the presentdisclosure. In FIG. 15, an operating method of the semiconductor memorydevice, which includes a plurality of program loops to program selectedmemory cells to any one program state among first to Nth program states,is illustrated. Here, the N may be a value determined according to anumber of bits stored a memory cell to be programmed. In an example, inthe case of a TLC that stores data of three bits as shown in FIG. 6, Nmay be 7. In another example, in the case of a MLC that stores data oftwo bits, N may be 1. In still another example, in the case of a QLCthat stores data of four bits, N may be 15. As described above, when thenumber of bits stored in a memory cell is “b,” N may have a value of“2^(b)−1.”

Referring to FIG. 15, a verify operation on selected memory cells isperformed by applying a program pulse to a selected word line (S410) andapplying an ith verify voltage VRi corresponding to an ith program statePV_(i) to the selected word line (S420). Here, the i may be a naturalnumber larger than or equal to 1. Also, i may be a value determinedaccording to a number of bits stored in a memory cell. For example,referring to FIGS. 6 and 15 together, in the case of a TLC that storesdata of three bits, i may be a natural number that is larger than orequal to 1 and is smaller than or equal to 7.

In step S430, it is determined whether verification of the ith programstate PV_(i) has passed. That is, when all threshold voltages of memorycells that are to be programmed to the ith program state PV_(i) amongthe selected memory cells exceeds the ith verify voltage VRi, theverification of the ith program state PV_(i) passes.

When the verification of the ith program state PV_(i) does not pass, abit line voltage of the selected memory cells is set based on theverification result (S450). In the step S450, the bit line voltage isset based on the threshold voltages of the selected memory cells. Morespecifically, different bit line voltages may be set by dividing theselected memory cells into fast cells and slow cells according to thethreshold voltages of the selected memory cells. That is, at least someof the memory cells having threshold voltages higher than the ith verifyvoltage VRi may be determined as fast cells. A bit line voltage of thememory cells determined as fast cells may be determined differently fromthat of memory cells determined as slow cells. A more detailedconfiguration of the step S450 is described below with reference toFIGS. 16, 17A, and 17B.

In step S460, a program pulse value of ISPP is increased. A subsequentprogram loop is performed by proceeding to the step S410.

The above-described steps S410, S420, S430, S450, and S460 mayconstitute one program loop for the ISPP method. The steps S410, S420,S430, S450, and S460 may be repeatedly performed until the verifyoperation of the ith program state PV_(i) passes.

As the determination result of the step S430, when the verify operationof the ith program state PV_(i) passes, it is determined whetherverification of all program states has passed (S440). When the programstate determined that its verification has passed in the step S430 isany one of the first to sixth program states PV₁ to PV₆ shown in FIG. 6,the verification of the seventh program state PV₇ does not pass, andtherefore, the operating method proceeds to step S470.

In the step S470, the i that is an index representing a targetdetermined whether its verification has passed is increased by 1, and abit line voltage of memory cells that have not been completelyprogrammed is initialized. The bit line voltage of memory cells thathave been completely programmed may be maintained as a program inhibitvoltage. The memory cells that have not been completely programmed aredivided into fast cells and slow cells through the step S450 in aprevious program, so that different bit line voltages are applied to thecorresponding memory cells. In the step S470, the division of fast cellsand slow cells is initialized, and a bit line voltage is applied bynewly dividing the memory cells into fast cells and slow cells. Thisprocess is described below with reference to FIGS. 16, 17A, and 17B.

Subsequently, in step S480, the program pulse value of the ISPP isincreased. A subsequent program loop is performed by proceeding to thestep S410.

According to embodiments described with reference to FIGS. 9 to 14,selected memory cells to be programmed are dummy-programmed, and thedummy-programmed memory cells are divided into a first group and asecond group, based on a predetermined reference voltage. On the otherhand, according to an embodiment shown in FIGS. 15, 16, 17A, and 17B,which is described later, memory cells are divided into a first groupand a second group, based on a verify voltage VRi corresponding to aprogram state PV_(i) being verified. Accordingly, the verify voltage VRithat becomes a reference for dividing the memory cells into the firstgroup and the second group is varied depending on a state in which theprogram operation is performed, and a bit line voltage can be applied bymore flexibly distinguishing fast cells from slow cells.

FIG. 16 is a flowchart illustrating in more detail the step S450 shownin FIG. 15. FIGS. 17A and 17B are diagrams illustrating the bit linevoltage setting shown in FIG. 16. Hereinafter, a method for setting abit line voltage of memory cells, based on a verify voltage VRi isdescribed with reference to FIGS. 15, 16, 17A, and 17B together.

For convenience of description, a situation in which a program operationhas not been completed with respect to the first program state PV_(i)that is in an early stage of the program operation is described. Here,the i becomes 1.

In the step S410, the threshold voltages of the selected memory cellsare increased by applying the program pulse to the selected word line.Subsequently, in the step S420, the first verify voltage VR1, that is averify voltage corresponding to the first program state PV₁, is appliedto the selected word line. Accordingly, it is determined whether theverification of the first program state PV₁ has passed.

Meanwhile, as the determination result of the step S430, when theverification of the first program state PV₁ does not pass, the operatingmethod proceeds to the step S450.

Referring to FIG. 16, the step S450 includes steps S510, S530, and S550.An example related to the first program state is described. A bit linevoltage of memory cells having threshold voltages higher than the firstverify voltage VR1 among memory cells to be programmed to the firstprogram state PV₁ is set as a program inhibit voltage (S510).Accordingly, in a subsequent program loop, the program inhibit voltagemay be applied to a bit line coupled to memory cells having thresholdvoltages higher than the first verify voltage VR1 among the memory cellsto be programmed to the first program state PV₁, i.e., memory cells thathave been completely programmed. Referring to FIGS. 16 and 17A together,a threshold voltage distribution of memory cells to be programmed to thefirst program state PV₁ is illustrated as an intermediate state VTD_PV₁.In the step S510, a bit line voltage VBL of memory cells of Group B,which have been completely programmed to the first program state, is setas a program inhibit voltage V_(inh).

In the step S530, a bit line voltage of memory cells having thresholdvoltages lower than the first verify voltage VR1 among memory cells tobe programmed to the first to seventh program states PV₁ to PV₇ is setas a first bit line voltage V1.

Referring to FIGS. 16 and 17A together, in the step S530, a bit linevoltage VBL of memory cells of Group A, which have not been completelyprogrammed, among memory cells to be programmed to the first programstate PV₁ is set as the first bit line voltage V1. In addition,referring to FIGS. 16 and 17B together, a threshold voltage distributionof memory cells to be programmed to the second to seventh program statesPV₂ to PV₇ is illustrated as an intermediate state VTD_PV₂₋₇. In thestep S530, a bit line voltage VBL of memory cells of Group C, which havenot been completely programmed, among the memory cells to be programmedto the second to seventh program states PV₂ to PV₇ is set as the firstbit line voltage V1. Referring to FIGS. 17A and 17B together, it can beseen that the bit line voltages VBL of the memory cells of Group A andGroup C, which have not been completely programmed, are set as the firstbit line voltage V1. Here, the memory cells of Group A are to beprogrammed to the first program state PV₁, and the memory cells of GroupC are to be programmed to the second to seventh program states PV₂ toPV₇.

In the step S550, a bit line voltage of memory cells having thresholdvoltages higher than the first verify voltage VR1 among the memory cellsto be programmed to the second to seventh program states PV₂ to PV₇ isset as a second bit line voltage V2. Referring to FIGS. 16 and 17Btogether, a bit line voltage VBL of memory cells belonging to Group D isset as the second bit line voltage V2.

Although a case where the steps S510, S530, and S550 are sequentiallyperformed is illustrated in FIG. 16, the present disclosure is notlimited thereto. The flowchart shown in FIG. 16 illustrates a method forsetting a bit line voltage by dividing memory cells. Therefore, theorder of the steps S510, S530, and S550 may be changed, and/or two ormore steps may be performed at the same time.

Referring to FIGS. 17A and 17B together, the bit line voltage of thememory cells (Group B) that have been completely programmed among thememory cells to be programmed to the first program state PV₁ is set asthe program inhibit voltage V_(inh) (S510). The bit line voltages of thememory cells (Group A and Group C) having threshold voltages lower thanthe first verify voltage VR1 among the memory cells to be programmed tothe first program state PV₁ (Group A) and to the second to seventhprogram states PV₂ to PV₇ (Group C) are set as the first bit linevoltage V1 (S530). The bit line voltage of the memory cells (Group D)having threshold voltages higher than the first verify voltage VR1 amongthe memory cells to be programmed to the second to seventh programstates PV₂ to PV₇ is set as the second bit line voltage V2 (S550). Thesecond bit line voltage V2 may be greater than the first bit linevoltage V1. In FIGS. 16, 17A, and 17B, the memory cells belonging toGroup D may be determined as fast cells, and the memory cells belongingto Group A and Group C may be determined as slow cells. In the programoperation, the second bit line voltage V2 relatively higher than thefirst bit line voltage V1 may be applied to the memory cells of Group D,which are determined as fast cells. The first bit line voltage V1relatively lower than the second bit line voltage V2 may be applied tothe memory cells belonging to Group A and Group C, which are determinedas slow cells.

Accordingly, the program speed of fast cells is relatively decreased,and therefore, a variation in threshold voltage between memory cellsbeing programmed is decreased. That is, in the intermediate stateVTD_PV₂₋₇ shown in FIG. 17B, a variation in threshold voltage betweenthe memory cells of Group D, which have threshold voltages higher thanthe first verify voltage VR1, is decreased. Thus, the number of verifyoperations performed in the program operation can be decreased, andaccordingly, the program speed of the semiconductor memory device can beimproved.

When a program loop is repeated, and the verification of the firstprogram state PV₁ passes as the determination result of the step S430, iis increased from 1 to 2 through the step S470, and the bit line voltageis initialized. In a subsequent program loop, the steps S510, S530, andS550 shown in FIG. 16 are performed in a state in which i is 2.

That is, in the step S510, a bit line voltage of memory cells havingthreshold voltages higher than the second verify voltage VR2 amongmemory cells to be programmed to the second program state PV₂ isdetermined as a program inhibit voltage. Subsequently, in the step S530,a bit line voltage VBL of memory cells having threshold voltages lowerthan the second verify voltage VR2 among the memory cells to beprogrammed to the second to seventh program states PV₂ to PV₇ isdetermined as the first bit line voltage V1. In the step S550, a bitline voltage VBL of memory cells having threshold voltages higher thanthe second verify voltage VR2 among memory cells to be programmed to thethird to seventh program states PV₃ to PV₇ is determined as the secondbit line voltage V2. For some embodiments, the first bit line voltage V1is different for different values of i, and the second bit line voltageV2 is different for different values of i. For other embodiments, thefirst bit line voltage V1 is different for some values of i, and thesecond bit line voltage V2 is different for different for some values ofi. However, for any given value of i, the first bit line voltage V1 isgreater than the second bit line voltage V2.

As described above, for a semiconductor memory device and an operatingmethod thereof according to an embodiment of the present disclosure,when a program loop is repeatedly performed, a bit line voltage isadjusted by adaptively determining fast cells for every program loop.Referring to FIGS. 17A and 17B, it can be seen that the memory cells(Group C) having threshold voltages lower than the first verify voltageVR1 among the memory cells to be programmed to the second to seventhprogram states PV₂ to PV₇ are determined as slow cells, and the memorycells (Group D) having threshold voltages higher than the first verifyvoltage VR1 among the memory cells to be programmed to the second toseventh program states PV₂ to PV₇ are determined as fast cells, whichare determined for every program loop.

In addition, a reference voltage for determining fast cells is adjustedwhenever the verification of a specific program state passes. When theverification of the first program state PV₁ does not pass, a voltagethat becomes a reference for distinguishing the fast cells (Group D)from the slow cells (Group A and Group C) is the first verify voltageVR1. If the verification of the first program state PV₁ passes when aprogram loop is performed, the voltage for distinguishing fast cellsfrom slow cells may be changed to a second verify voltage VR2.Similarly, if the verification of the second program state PV₂ passeswhen a program loop is performed, the voltage for distinguishing fastcells from slow cells may be changed to a third verify voltage VR3.

FIG. 18 is a flowchart illustrating an operating method of thesemiconductor memory device according to an embodiment of the presentdisclosure.

Referring to FIG. 18, first, a program pulse is applied to a selectedword line (S610), and an ith verify voltage VRi corresponding to an ithprogram state PV_(i) is applied to the selected word line (S620).Subsequently, in step S630, a number Nc of memory cells having thresholdvoltages higher than the ith verify voltage VRi is counted.

In step S640, it is determined whether the counted number Nc of memorycells is greater than a predetermined reference value N_ref. When thecounted number Nc of memory cells is less than or equal to thepredetermined reference value N_ref, a bit line voltage of the memorycells is set according to a first mode (S650). When the counted numberNc of memory cells is greater than the predetermined reference valueN_ref, a bit line voltage of the memory cells is set according to asecond mode different from the first mode (S660).

When the bit line voltage of the memory cells is set according to thefirst mode or the second mode, it is determined whether verification ofthe ith program state PV_(i) has passed (S670). As the determinationresult of the step S670, when the verification of the ith program statePV_(i) does not pass, a program pulse value is increased (S680), and asubsequent program loop is performed by proceeding to the step S610. Asthe determination result of the step S670, when the verification of theith program state PV_(i) passes, a program operation and a verifyoperation on upper program states PV_(i+1) to PV₇ are performed (S690).

The steps S610 to S680 may constitute one program loop in the programoperation. Meanwhile, the step S690 may include a plurality of programloops. For example, the steps S610 to S680 may constitute a program loopin a state in which i is increased to 2, and the step S690 may include aplurality of program loops.

When i is 1, in the embodiment shown in FIG. 18, the first mode or thesecond mode is determined according to a number of memory cells havingthreshold voltages higher than the first verify voltage VR1 among allthe memory cells. In the first mode, the bit line voltage is set basedon the threshold voltages of the selected memory cells. In the secondmode, the bit line voltage is set without dividing the selected memorycells according to the threshold voltages of the selected memory cells.

When the number of memory cells having threshold voltages higher thanthe first verify voltage VR1 is small, this corresponds to an earlystage of the program operation. Therefore, the memory cells havingthreshold voltages higher than the first verify voltage VR1 may bedetermined as fast cells at this early stage of the program operation.Accordingly, a bit line voltage for decreasing the program speed of thefast cells according to the first mode is applied to the fast cells.

In the first mode, the bit line voltage is set as described withreference to FIGS. 16, 17A, and 17B so as to decrease the program speedof the fast cells. That is, a bit line voltage of memory cells (fastcells) having threshold voltages higher than the ith verify voltage VRiamong memory cells to be programmed to PV_(i+1) to PV₇, based on the ithprogram state PV_(i) of which verification does not currently pass, isset as the second bit line voltage V2 (S550). In the first mode, a bitline voltage of memory cells (slow cells) having threshold voltageslower than the ith verify voltage VRi is set as the first bit linevoltage V1 (S530). Redundant descriptions of the method for setting abit line voltage by distinguishing fast cells from slow cells as shownin FIGS. 16, 17A, and 17B are omitted.

When the number of memory cells having threshold voltages higher thanthe first verify voltage VR1 is large, this may mean that the programoperation has been performed to a certain degree. Therefore, the memorycells having threshold voltages higher than the first verify voltage VR1might not be determined as fast cells under the situation in which theprogram operation is performed to a certain degree. According to thesecond mode, the program operation is performed without distinguishingfast cells from slow cells.

In the second mode, fast cells and slow cells are not distinguished fromeach other during the program operation. Therefore, all bit linevoltages of memory cells that have not been completely programmed areset equal to one another. This is described with reference to FIGS. 19and 20 together.

FIG. 19 is a flowchart illustrating the step S660 shown in FIG. 18. FIG.20 is a diagram illustrating the bit line voltage setting shown in FIG.19. Hereinafter, a method for setting a bit line voltage of memory cellsaccording to the second mode is described with reference to FIGS. 19 and20.

For convenience of description, a situation in which a program operationhas not been completed with respect to the first program state PV_(i)that is an early stage of the program operation is described. Here, i is1.

Referring to FIG. 19, the step S660, corresponding to the second mode,includes steps S710 and S730. An example related to the first programstate is described. A bit line voltage of memory cells having thresholdvoltages higher than the first verify voltage VR1 among the memory cellsto be programmed to the first program state PV₁ is set as a programinhibit voltage (S710). Accordingly, in a subsequent program loop, theprogram inhibit voltage may be applied to a bit line coupled to thememory cells having threshold voltages higher than the first verifyvoltage VR1 among the memory cells to be programmed to the first programstate PV₁, i.e., memory cells that have been completely programmed. Asshown in FIG. 17A, in the step S710, the bit line voltage VBL of thememory cells of Group B, which have been completely programmed to thefirst program state PV₁, is set as the program inhibit voltage V_(inh).

In the step S730, a bit line voltage of memory cells having thresholdvoltages lower than the first verify voltage VR1 among the memory cellsto be programmed to PV₁ and a bit line voltage of memory cells to beprogrammed to PV₂ to PV₇ are set as the first bit line voltage V1.Accordingly, the bit line voltage VBL, of the memory cells of Group Ashown in FIG. 17A, i.e., the memory cells having threshold voltageslower than the first verify voltage VR1 among the memory cells to beprogrammed to PV₁, is set as the first bit line voltage V1. Similarly,the bit line voltage VBL of the memory cells of Groups C and D in FIG.20 are also set to the first bit line voltage V1.

Referring to FIG. 20, a threshold voltage distribution of the memorycells to be programmed to the second to seventh program states PV₂ toPV₇ is illustrated as an intermediate state VTD_PV₂₋₇. In the step S730,both the bit line voltages VBL of the memory cells of Group C, whichhave not been completely programmed, and the memory cells of Group D,which have been completely programmed, among the memory cells to beprogrammed to the second to seventh program states PV₂ to PV₇ are set asthe first bit line voltage V1. Referring to FIGS. 17A and 20 together,it can be seen that both the bit line voltages VBL of the memory cellsof Group A, which have not been completely programmed, among the memorycells to be programmed to the first program state PV_(i) and the memorycells of the Group C and Group D, which are to be programmed to thesecond to seventh program states PV₂ to PV₇, are set as the first bitline voltage V1. The first bit line voltage V1 is a program allowvoltage, and may be, for example, a ground voltage (0 V).

In the first mode, a bit line voltage of memory cells is set by dividingthe memory cells into fast cells and slow cells, as shown in FIGS. 17Aand 17B. In the second mode, a bit line voltage of memory cells is setwithout dividing the memory cells into fast cells and slow cells, asshown in FIGS. 17A and 20. Thus, at the early stage of the programoperation, when the number Nc of memory cells having threshold voltageshigher than the first verify voltage VR1 is less than or equal to thereference value N_ref, the program speed of fast cells can beintentionally decreased according to the first mode. Subsequently, whenthe number Nc of memory cells having threshold voltages higher than thefirst verify voltage VR1 is greater than the reference value N_refbecause the program operation is performed to a certain degree, the sameprogram allow voltage can be applied as the bit line voltage of thememory cells without diving the memory cells into slow cells and fastcells.

FIG. 21 is a block diagram illustrating an example of a storage device1000 including the semiconductor memory device shown in FIG. 1 and amemory controller 200 for controlling the semiconductor memory device1000.

Referring to FIG. 21, the storage device 1000 includes the semiconductormemory device 100 and the memory controller 200. The memory controller200 is coupled to the semiconductor memory device 100 and a host HOST.The semiconductor memory device 100 may be the semiconductor memorydevice described with reference to FIG. 1.

The memory controller 200 accesses the semiconductor memory device 100in response to a request from the host HOST. For example, the memorycontroller 200 controls read, program, erase, and background operationsof the semiconductor memory device 100. The memory controller 200provides an interface between the semiconductor memory device 100 andthe host HOST. The memory controller 200 drives firmware for controllingthe semiconductor memory device 100.

The memory controller 200 includes a random access memory (RAM) 210, aprocessor 220, a host interface (I/F) 230, a memory I/F 240, and anerror correction block 250.

The RAM 210 is used as a working memory of the processor 220, a cachememory between the semiconductor memory device 100 and the host HOST,and/or a buffer memory between the semiconductor memory device 100 andthe host HOST. Also, the RAM 210 may be used as a command queue thattemporarily stores commands to be transferred to the semiconductormemory device 100.

The processor 220 controls overall operations of the memory controller200.

The host I/F 230 includes a protocol for exchanging data between thehost HOST and the memory controller 200. In an embodiment, the memorycontroller 200 communicates with the host HOST through at least one ofvarious interface protocols, such as a Universal Serial Bus (USB)protocol, a Multi-Media Card (MMC) protocol, a Peripheral ComponentInterconnection (PCI) protocol, a PCI-Express (PCI-E) protocol, anAdvanced Technology Attachment (ATA) protocol, a Serial-ATA protocol, aParallel-ATA protocol, a Small Computer Small Interface (SCSI) protocol,an Enhanced Small Disk Interface (ESDI) protocol, an Integrated DriveElectronics (IDE) protocol, and a private protocol.

The memory I/F 240 interfaces with the semiconductor memory device 100.For example, the memory I/F 240 may include a NAND interface or a NORinterface.

The error correction block 250 detects and corrects an error of datareceived from the semiconductor memory device 100 by using an errorcorrection code (ECC). The processor 220 may adjust a read voltage,based on the error detection result of the error correction block 250,and control the semiconductor memory device 100 to perform a re-readoperation.

The memory controller 200 and the semiconductor memory device 100 may beintegrated into one semiconductor device. In an embodiment, the memorycontroller 200 and the semiconductor memory device 100 may be integratedinto one semiconductor device to constitute a memory card. For example,the memory controller 200 and the semiconductor memory device 100 may beintegrated into one semiconductor device to constitute a memory card,such as a PC card (Personal Computer Memory Card InternationalAssociation (PCMCIA)), a Compact Flash (CF) card, a Smart Media Card (SMor SMC), a memory stick, a Multi-Media Card (MMC, RS-MMC or MMCmicro),an SD Card (SD, miniSD, microSD or SDHC), or a Universal Flash Storage(UFS).

The memory controller 200 and the semiconductor memory device 100 may beintegrated into one semiconductor device to constitute a semiconductordrive (solid state drive (SSD)). The semiconductor drive SSD includes astorage device configured to store data in a semiconductor memory. Whenthe storage device including the memory controller 200 and thesemiconductor memory device 100 is used as the semiconductor drive SSD,the operating speed of the host HOST coupled to the storage device canbe remarkably improved.

As another example, the storage device 1000 including the memorycontroller 200 and the semiconductor memory device 100 may be providedas one of various components of an electronic device, such as acomputer, an Ultra Mobile PC (UMPC), a workstation, a net-book, aPersonal Digital Assistant (PDA), a portable computer, a web tablet, awireless phone, a mobile phone, a smart phone, an e-book, a PortableMultimedia Player (PMP), a portable game console, a navigation system, ablack box, a digital camera, a 3-dimensional television, a digital audiorecorder, a digital audio player, a digital picture recorder, a digitalpicture player, a digital video recorder, a digital video player, adevice capable of transmitting/receiving information in a wirelessenvironment, one of various electronic devices that constitute a homenetwork, one of various electronic devices that constitute a computernetwork, one of various electronic devices that constitute a telematicsnetwork, an RFID device, or one of various components that constitute acomputing system.

In an embodiment, the storage device 1000 including the memorycontroller 200 and the semiconductor memory device 100 may be packagedin various forms. For example, the semiconductor memory device 100 orthe storage device may be packaged in a manner such as Package OnPackage (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs),Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-line Package (PDIP),die in Waffle pack, die in wafer form, Chip On Board (COB), CERamic DualIn-line Package (CERDIP), plastic Metric Quad Flat Pack (MQFP), ThinQuad Flat Pack (TQFP), Small Outline Integrated Circuit (SOIC), ShrinkSmall Outline Package (SSOP), Thin Small Outline Package (TSOP), ThinQuad Flat Pack (TQFP), System In Package (SIP), Multi-Chip Package(MCP), Wafer-level Fabricated Package (WFP), or Wafer-level processedStack Package (WSP).

FIG. 22 is a block diagram illustrating an application example of thestorage device 1000 shown in FIG. 21.

Referring to FIG. 22, a storage device 2000 includes a semiconductormemory device 2100 and a controller 2200. The semiconductor memorydevice 2100 includes a plurality of semiconductor memory chips. Theplurality of semiconductor memory chips are divided into a plurality ofgroups.

FIG. 22 illustrates that the plurality of groups communicate with thecontroller 2200 through first to kth channels CH1 to CHk. Eachsemiconductor memory chip may be configured and operated identically tothe semiconductor memory device 100 described with reference to FIG. 1.

Each group is configured to communicate with the controller 2200 throughone common channel. The controller 2200 is configured identically to thememory controller 200 described with reference to FIG. 21. Thecontroller 2200 controls the plurality of memory chips of thesemiconductor memory device 2100 through the plurality of channels CH1to CHk.

FIG. 23 is a block diagram illustrating a computing system 3000including the storage device 2000 described with reference to FIG. 22.

Referring to FIG. 23, the computing system 3000 includes a centralprocessing unit 3100, a RAM 3200, a user interface 3300, a power supply3400, a system bus 3500, and the storage device 2000.

The storage device 2000 is electrically coupled to the centralprocessing unit 3100, the RAM 3200, the user interface 3300, and thepower supply 3400 through the system bus 3500. Data supplied through theuser interface 3300 or data processed by the central processing unit3100 are stored in the storage device 2000.

FIG. 23 illustrates that the semiconductor memory device 2100 is coupledto the system bus 3500 through the controller 2200. However, thesemiconductor memory device 2100 may be directly coupled to the systembus 3500. The function of the controller 2200 may be performed by thecentral processing unit 3100 and the RAM 3200.

FIG. 23 illustrates that the storage device 2000 described withreference to FIG. 22 is provided. However, the storage device 2000 maybe replaced by the storage device 1000 including the memory controller200 and the semiconductor memory device 100, which are described withreference to FIG. 21.

A number of embodiments of the present disclosure provide asemiconductor memory device having an improved program speed. Additionalembodiments of the present disclosure provide an operating method of thesemiconductor memory device.

While the present disclosure has been shown and described with referenceto certain embodiments, it will be understood by those skilled in theart that various changes in form and detail may be made to theembodiments without departing from the spirit and scope of the presentdisclosure as defined by the appended claims and their equivalents.Therefore, the scope of the present disclosure should not be limited tothe above-described embodiments but should be determined by not only theappended claims but also the equivalents thereof.

In the above-described embodiments, all steps may be selectivelyperformed or a portion of the steps may be performed while others areomitted. In each embodiment, indicated steps are not necessarilyperformed in the order described and may be rearranged. The embodimentsdisclosed in this specification and drawings are only examples tofacilitate an understanding of the present disclosure, and the presentdisclosure is not limited thereto. That is, it should be apparent tothose skilled in the art that various modifications can be made on thebasis of the technological scope of the present disclosure.

Meanwhile, the embodiments of the present disclosure have been describedin the drawings and specification. Although specific terminologies areused here, those are only to explain the embodiments of the presentdisclosure. Therefore, the present disclosure is not restricted to theabove-described embodiments and many variations are possible within thespirit and scope of the present disclosure. It should be apparent tothose skilled in the art that various modifications can be made on thebasis of the technological scope of the present disclosure in additionto the embodiments disclosed herein.

What is claimed is:
 1. A method for operating a semiconductor memorydevice, the method comprising: dummy-programming selected memory cellsrepresenting all the memory cells to be programmed for a programmingoperation; determining as a first group of memory cells those selectedmemory cells having threshold voltages less than or equal to a referencethreshold voltage; determining as a second group of memory cells thoseselected memory cells having threshold voltages greater than thereference threshold voltage; programming the selected memory cells,wherein programming the selected memory cells comprises: applying afirst bit line voltage to the memory cells of the first group; applyinga second bit line voltage different from the first bit line voltage tothe memory cells of the second group; and applying a same program pulseto the memory cells of the first and second groups.
 2. The method ofclaim 1, wherein the second bit line voltage is higher than the firstbit line voltage.
 3. The method of claim 2, wherein the second bit linevoltage is lower than a voltage of the program pulse.
 4. The method ofclaim 1, wherein: applying a first bit line voltage to the memory cellsof the first group comprises applying the first bit line voltage to bitlines coupled to the memory cells of the first group; and applying asecond bit line voltage to the memory cells of the second groupcomprises applying the second bit line voltage to bit lines coupled tothe memory cells of the second group.
 5. A method for operating asemiconductor memory device to program selected memory cells to programstates among first to Nth program states, N being a natural number, themethod comprising: applying a first program pulse to a word line coupledto the selected memory cells; performing a first program verifyoperation by applying an ith verify voltage corresponding to an ithprogram state to the word line, i being a natural number equal to orgreater than 1 and less than or equal to N; and setting, when the firstprogram verify operation fails, a bit line voltage for memory cells,among the selected memory cells, that have threshold voltages lower thanthe ith verify voltage to the first bit line voltage; and setting, whenthe first program verify operation fails, a bit line voltage for memorycells, among the selected memory cells, that have threshold voltageshigher than the ith verify voltage and that are to be programmed to theith program state to a program inhibit voltage.
 6. The method of claim 5further comprising: setting, when the first program verify operationfails, a bit line voltage for memory cells, among the selected memorycells, that have threshold voltages higher than the ith verify voltageand that are to be programmed to a program state greater than the ithprogram state to the second bit line voltage.
 7. The method of claim 6,wherein the second bit line voltage is higher than the first bit linevoltage.
 8. The method of claim 7, wherein the second bit line voltageis lower than a voltage of the program pulse.
 9. The method of claim 5further comprising: increasing a program pulse voltage; applying asecond program pulse to the word line coupled to the selected memorycells; performing a second program verify operation by applying the ithverify voltage corresponding to the ith program state to the word line.10. The method of claim 9 further comprising: increasing, when thesecond program verify operation passes, the program pulse voltage;applying a third program pulse to the word line coupled to the selectedmemory cells; performing a third program verify operation by applying a(i+1)th verify voltage corresponding to the ith program state to theword line.
 11. The method of claim 10 further comprising: setting, whenthe third program verify operation fails, a bit line voltage for memorycells, among the selected memory cells, that have threshold voltageslower than the (i+1)th verify voltage to the first bit line voltage; andsetting, when the third program verify operation fails, a bit linevoltage for memory cells, among the selected memory cells, that havethreshold voltages higher than the (i+1)th verify voltage and that areto be programmed to the (i+1)th program state to the program inhibitvoltage.
 12. The method of claim 11 further comprising: setting, whenthe third program verify operation fails, a bit line voltage for memorycells, among the selected memory cells, that have threshold voltageshigher than the (i+1)th verify voltage and that are to be programmed toa program state greater than the (i+1)th program state to the second bitline voltage.
 13. A method for operating a semiconductor memory deviceto program selected memory cells to program states among first to Nthprogram states, N being a natural number, the method comprising:applying a first program pulse to a word line coupled to the selectedmemory cells; performing a first program verify operation by applying anith verify voltage corresponding to an ith program state to the wordline, i being a natural number equal to or greater than 1 and less thanor equal to N; determining if a number of the selected memory cellshaving threshold voltages higher than the ith verify voltage is greaterthan a reference value; and setting bit line voltages for the selectedmemory cells based on the determination.
 14. The method of claim 13,wherein setting bit line voltages for the selected memory cells based onthe determination comprises: setting, when the number is not greaterthan the reference value, a bit line voltage for memory cells, among theselected memory cells, that have threshold voltages lower than the ithverify voltage to the first bit line voltage; and setting, when thenumber is not greater than the reference value, a bit line voltage formemory cells, among the selected memory cells, that have thresholdvoltages higher than the ith verify voltage and that are to beprogrammed to a program state greater than the ith program state to asecond bit line voltage different from the first bit line voltage. 15.The method of claim 14, wherein the second bit line voltage is higherthan the first bit line voltage.
 16. The method of claim 15, wherein thesecond bit line voltage is lower than a voltage of the program pulse.17. The method of claim 15, wherein setting bit line voltages for theselected memory cells based on the determination further comprises:setting, when the number is greater than the reference value, a bit linevoltage for memory cells, among the selected memory cells, that havethreshold voltages lower than the ith verify voltage to the first bitline voltage; and setting, when the number is greater than the referencevalue, a bit line voltage for memory cells, among the selected memorycells, that have threshold voltages higher than the ith verify voltageand that are to be programmed to a program state greater than the ithprogram state to the first bit line voltage.
 18. The method of claim 17,wherein setting bit line voltages for the selected memory cells based onthe determination further comprises: setting a bit line voltage formemory cells, among the selected memory cells, that have thresholdvoltages higher than the ith verify voltage and that are to beprogrammed to the ith program state to a program inhibit voltage.
 19. Asemiconductor memory device comprising: a memory cell array comprising aplurality of memory cells configured to store data; a plurality of bitlines coupled to the plurality of memory cells; a peripheral circuitconfigured to perform a program operation on all selected memory cellsamong the plurality of memory cells; and a control logic configured tocontrol the peripheral circuit in performing the program operation,wherein the semiconductor memory device, in performing the programoperation, is configured to: dummy-program the selected memory cells;determine as a first group of memory cells those selected memory cellshaving threshold voltages less than or equal to a reference thresholdvoltage; determine as a second group of memory cells those selectedmemory cells having threshold voltages greater than the referencethreshold voltage; apply a first bit line voltage to bit lines, of theplurality of bit lines, coupled to the memory cells of the first group;apply a second bit line voltage higher than the first bit line voltageto bit lines, of the plurality of bit lines, coupled to the memory cellsof the second group; and apply a same program pulse to the memory cellsof the first and second groups.
 20. The semiconductor memory device ofclaim 19, wherein the second bit line voltage is lower than a voltage ofthe program pulse.